Embodiments of the present invention relate to providing services to a subscriber via a subscriber network, and more particularly to a system and a method for establishing rules for devices connected to a subscriber network that are receiving services from a service provider network.
High speed broadband networks deliver connectivity to a variety of terminal devices that provide an increasingly broad range of services. A broadband network may, for example, carry television programming, audio programming, gaming services, video streaming services, on-demand services, digital telephone services, and Internet services. These services may be delivered to a set top terminal, a computer, or a personal media device, to name few.
From the subscriber's perspective, this connectivity is a double edged sword. While new and better services are appreciated, the increasing complexity of home networks is not. Various standards groups have been formed to develop interoperability standards that dictate how disparate devices may communicate over a network. The most notable of these standards are HAVi (Home Audio Video interoperability; specification available from www.havi.org) and UPnP (Universal Plug and Play; specification available from www.upnp.org).
HAVi was created as a common software architecture for audiovisual devices operating over IEEE 1394. HAVi systems provide a generic messaging system for communication between software modules. The location of the communication peer is transparent to the application. HAVi allows a device to subscribe to a service and defines an “event” relative to a change in that service.
UPnP is a protocol specification, enhancing the standard IP stack, and is as such network independent. For the transport of audiovisual content UPnP relies on well known Internet standards such as HTTP or RTP. The interoperability standards such as HAVi and UPnP are generally directed to providing user control over multiple devices within a network.
From the service provider's perspective, connectivity offers both increased opportunities for new revenue streams and increased demands on subscriber support resources. End devices have varying capabilities. Further, not all end devices will be connected to a subscriber network at any one time. Because the architecture of a subscriber network is largely unknown to a service provider, it is difficult for a service provider to know precisely what services to offer a subscriber.
A service comprises both content elements and network configuration elements. For example, an email service requires less bandwidth and lower priority than a voice over IP (VoIP) service. The quality of service (QoS) level associated with a particular service can also be dependent on the capabilities of the device to which the service is being delivered. Thus, an HD video stream may be appropriate for a media computer, but may not be appropriate for a personal media device.
In a cable network, a quality of service (QoS) level is defined for communications between a CM and a CMTS for each service to which a subscriber subscribes. For example, a basic data service subscriber may receive downstream traffic at a maximum burst rate of 3 Mbps, while a premium subscriber may receive downstream traffic at maximum burst rate of 6 Mbps. Voice over IP (VoIP) services are typically provided with very stringent QoS requirements to assure that the quality of a cable-delivered telephone call will equal or exceed the call quality of a call placed over the public switched telephone network.
The principal mechanism for providing enhanced QoS is to classify packets traversing a path between a CM and CMTS into a service flow. A service flow is a unidirectional flow of packets that is provided a particular Quality of Service. The CM and CMTS provide this QoS by shaping, policing, and prioritizing traffic according to a QoS parameter set defined for the service flow. Service flows exist in both the upstream and downstream direction, and may exist without actually being activated to carry traffic. Service flows have a 32-bit service flow identifier (SFID) assigned by the CMTS. All service flows have an SFID. An active and admitted upstream service flow also has a 14-bit Service Identifier (SID). At least two service flows are defined in a configuration file received by a CM—one for upstream and one for downstream service. The first upstream service flow describes the primary upstream service flow, and is the default service flow used for otherwise unclassified traffic. The first downstream service flow describes service to the primary downstream service flow. Additional service flows defined in the configuration file create service flows that are provided QoS services.
Conceptually, incoming packets are matched to a classifier that determines to which QoS service flow the packet is forwarded. The header of the packet is examined. If the packet matches one of the classifiers, it is forwarded to the service flow indicated by the SFID attribute of the classifier. If the packet is not matched to a classifier, it is forwarded on the primary service flow.
A classifier is a set of matching criteria applied to each packet entering the cable network. It comprises some packet matching criteria (destination IP address, for example), a classifier priority, and a reference to a service flow. If a packet matches the specified packet matching criteria, it is then delivered on the referenced service flow. Several classifiers may all refer to the same service flow. The classifier priority is used for ordering the application of classifiers to packets. Explicit ordering is necessary because the patterns used by classifiers may overlap. Downstream classifiers are applied by the CMTS to packets it is transmitting, and upstream classifiers are applied at the CM and may be applied at the CMTS to police the classification of upstream packets. The characteristics of a provisioned downstream service flow are defined in a DOCSIS configuration file downloaded by the CM when it boots and provided to the CMTS by the CM during registration.
Multiple service flows can be assigned per cable modem in either the upstream or downstream direction, and each of these service flows can correspond to a different QoS parameter set with different characteristics. This is conducive to allowing the CM to accommodate multiple kinds of data traffic at once, such as standard Internet traffic and Voice over IP (VoIP).
To guarantee bandwidth for a specific service, a network device must be able to identify packets associated with that service in all the IP traffic flowing through it. This identification and grouping process is called packet classification. Media gateways and MTAs use various match criteria to place traffic into a certain number of classes. Packet marking is the process of setting a Type of Service (ToS) bits or Differentiated Service Code Point (DSCP) bits in the IP header.
Ideally, a service provider would offer services to a subscriber consistent with the subscriber's network architecture and consistent with a level of service for which the subscriber has paid an appropriate fee. What would be useful would be a system that could determine a subscriber's network architecture, determine the capabilities of end devices registered with the subscriber network, determine the services which a subscriber is entitled to receive, and establish rules for the delivery of services to appropriate end devices.